Epic Clinical System API - Implementation Template
Setup guide
Please review the pre-requisite setup instructions for creating an app in EPIC.
Importing Templates into Anypoint Studio
- In Studio, click the Exchange X icon in the upper left of the taskbar.
- Log in with your Anypoint Platform credentials.
- Search for the template.
- Click Open.
Running Templates in Anypoint Studio
After you import your template into Studio, follow these configuration steps to run it:
Common Configuration
mule.env
- sets the environment where the application is to be deployed. It should be configured inconfig-<mule.env>.yaml
file. For a studio deployment, the recommended mule.env value islocal
.mule.key
- sets the encryption password to be used for encrypting secure properties. Update as needed.api.baseurl
- sets the base url of the api. Replace/override as needed when deploying to any environment. It should be configured inconfig-<mule.env>.yaml
file. Default value ishttps://localhost:8082/api
, whenmule.env
islocal
.api.autoDiscoveryID
should be configured inconfig-<mule.env>.yaml
file.
EPIC Configuration
After obtaining the necessary client and certificate privatekey password information, configure it in the properties file located in the config/properties
folder.
epic.tokenurl
should be configured in config-<mule.env>.yaml
file.
epic.baseurl
should be configured in config-<mule.env>.yaml
file.
jwt.privateKeyPassword
should be encrypted and configured in config-secured-<mule.env>.yaml
file.
epic.clientId
should be encrypted and configured in config-secured-<mule.env>.yaml
file.
Please refer to the attached link on how to secure the configuration properties.
Add Keystore file (Anypoint_Keystore.p12) generated as part of EPIC Configuration to src/main/resources
folder.
HTTPS Configuration
https.host
— sets the service host interface. It should be configured inconfig-<mule.env>.yaml
file. (Defaults to 0.0.0.0 for all interfaces).https.port
— sets the HTTPS service port number. It should be configured inconfig-<mule.env>.yaml
file. (Default 8082).- TLS Configuration - Keystore properties setup:
keystore.alias
- sets the alias to the keystore. It should be configured inconfig-<mule.env>.yaml
file.keystore.path
- sets the path to the key file. Key should be available in /src/main/resources/keystore. It should be configured inconfig-<mule.env>.yaml
file.keystore.keypass
— sets keystore keypass to support HTTPS operation. It should be encrypted and configured inconfig-secured-<mule.env>.yaml
file.keystore.password
— sets keystore password to support HTTPS operation. It should be encrypted and configured inconfig-secured-<mule.env>.yaml
file.
Please refer to the attached link on how to generate the Keystore.
Run it
- Right-click the template project folder.
- Hover your mouse over Run as.
- Click Mule Application (configure).
- Inside the dialog, select Environment and set the variable mule.env to the appropriate value (e.g dev or local).
- Inside the dialog, select Environment and set the variable mule.key. Click Run.
Deployment instructions for CloudHub using provided scripts
Ensure the Maven profile CloudHub-DEV
has been properly configured in yoursettings.xml
file. Reference can be found by downloading the Accelerator Common Resources asset. Additional instructions are available in the Getting Started with MuleSoft Accelerators - Build Environment guide.
Update the config-dev.yaml
properties appropriately and then use one of the following scripts to deploy application to CloudHub:
- packageDeploy.sh or deployOnly.sh (Mac/Linux)
- packageDeploy.cmd or deployOnly.cmd (Windows)
Test it
- Use Advanced Rest Client or Postman to send a request over HTTPS. The template includes a postman collection in the
src/test/resources
folder. Update the collection variable(s) after successful import.